package main

import "fmt"

type Bag struct {
	items []int
}

func Insert(b *Bag, itemid int) {
	b.items = append(b.items, itemid)
}

func (b *Bag) Insert(itemid int) {
	b.items = append(b.items, itemid)
}

type Property struct {
	value int
}

func (p *Property) SetValue(v int) {
	p.value = v
}

func (p Property) Value() int {
	return p.value
}

func main() {
	b := &Bag{}
	b.Insert(1001)

	p := &Property{}
	p.SetValue(100)

	fmt.Printf("%E \n", b.items)
	fmt.Printf("%d \n", p.Value())
	fmt.Printf("%d \n", p.value)
}
